Optimizing Stencil Codes Using Search
نویسنده
چکیده
Stencil-based kernels constitute the core of many scientific applications on block-structured grids. Unfortunately, these codes achieve a low fraction of peak performance. In this paper, we demonstrate one method for automatically generating high-quality stencil code. First, we perform a search over various instruction-level optimizations to find the best platform-specific combination. These optimizations are then applied to three different cache-level algorithms. We then vary the grid size and iteration count to see where in the parameter space each algorithm performs best. In order for the system to predict the best algorithm for any point in this space, we pass the training data to a Support Vector Machine (SVM) and let it divide the space into different classes. By using this technique, we are able to choose the correct algorithm between 80% to 90% of the time.
منابع مشابه
Optimizing Transformations of Stencil Operations for Parallel Cache-based Architectures
This paper describes a new technique for optimizing serial and parallel stencil-and stencil-like operations for cache-based architectures. This technique takes advantage of the semantic knowledge implicitly in stencil-like computations. The technique is implemented as a source-to-source program transformation; because of its speci-city it could not be expected of a conventional compiler. Empiri...
متن کاملExperiments on Optimizing the Performance of Stencil Codes with SPL Conqueror
A standard technique for numerically solving elliptic partial differential equations on structured grids is to discretize them, and, then, to apply an efficient geometric multi-grid solver. Unfortunately, finding the optimal choice of multi-grid components and parameter settings is challenging and existing auto-tuning techniques fail to explain performanceoptimal settings. To improve the state ...
متن کاملDomain-Specific Optimization of Two Jacobi Smoother Kernels and Their Evaluation in the ECM Performance Model
Our aim is to apply program transformations to stencil codes in order to yield the highest possible performance. We recognize memory bandwidth as a major limitation in stencil code performance. We conducted a study in which we applied optimizing transformations to two Jacobi smoother kernels: one 3D 1st-order 7-point stencil and one 3D 3rd-order 19-point stencil. To obtain high performance, the...
متن کاملGuest Editors' Note: Special Issue On High-Performance Stencil Computations
This workshop is the first in a new series of workshops intended to address current and upcoming challenges and developments in the area of stencil computations. Today, real-world stencil codes are often hand-tuned which requires a huge amount of engineering effort given the variety of stencil codes in use. Therefore, simplifying the task of constructing stencil codes that deliver high performa...
متن کاملOptimizing Performance of Stencil Code with SPL Conqueror
A standard technique to numerically solve elliptic partial differential equations on structured grids is to discretize them via finite differences and then to apply an efficient geometric multi-grid solver. Unfortunately, finding the optimal choice of multi-grid components and parameters is challenging and platform dependent, especially, in cases where domain knowledge is incomplete. Auto-tunin...
متن کامل